package cn.wh.user.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;

import cn.wh.common.Util.PageInfoUtil;
import cn.wh.user.dao.IAAdminDao;
import cn.wh.user.pojo.AAdmin;
/**
 * 管理员service实现类
 */
@Service("adminService")
public class AAdminServiceImpl implements IAAdminService
{
		@Resource
		private IAAdminDao adminDao;

		// 查询一条管理员
		@Override
		public AAdmin getOne(Map<String, Object> condMap)
		{
			return adminDao.getOne(condMap);
		}
		
		// 查询多条管理员
		@Override
		public List<AAdmin> geList(Map<String, Object> condMap,PageInfoUtil pageInfoUtil)
		{
			List<AAdmin> list = adminDao.getList(condMap, pageInfoUtil);
			return list;
		} 

		// 添加一条管理员
		@Override
		public JSONObject save(AAdmin admin)
		{
			JSONObject jsonObject = new JSONObject();
			
			// 邮箱不能重复
			Map<String,Object> condMap = new HashMap<String,Object>();
			condMap.put("email", admin.getEmail());
			AAdmin admins = adminDao.getOne(condMap);
			if (admins != null) {
				// 邮箱存在
				jsonObject.put("code", 2);
				jsonObject.put("info", "email存在，请更换");
				return jsonObject;
			}
			
			
			int res = adminDao.save(admin);
			if (res > 0 ) {
				jsonObject.put("code", 0);
				jsonObject.put("info", "添加成功");
				JSONObject dataObject = new JSONObject();
				dataObject.put("id", res);
				jsonObject.put("data", dataObject);
			} else {
				jsonObject.put("code", 1);
				jsonObject.put("info", "添加失败");
			}
			return jsonObject;
		}

		// 更新一条管理员
		@Override
		public JSONObject update(AAdmin admin)
		{
			JSONObject jsonObject = new JSONObject();
			
			// 邮箱不能重复
			Map<String,Object> condMap = new HashMap<String,Object>();
			condMap.put("email", admin.getEmail());
			AAdmin admins = adminDao.getOne(condMap);
			if (admins != null && admin.getId() != admins.getId()) {
				// 邮箱存在
				jsonObject.put("code", 2);
				jsonObject.put("info", "email存在，请更换");
				return jsonObject;
			}
			
			int res = adminDao.update(admin);
			if (res > 0) {
				jsonObject.put("code", 0);
				jsonObject.put("info", "更新成功");
				JSONObject dataObject = new JSONObject();
				dataObject.put("admin", admin);
				jsonObject.put("data", dataObject);
			} else {
				jsonObject.put("code", 1);
				jsonObject.put("info", "更新失败");
			}
			return jsonObject;
		}

		
}
